A semiconductor platform incorporates a number of features that impart functionality to the platform. Some features are independent of other platform features (i.e., do not depend on the presence of other platform features) while other features are dependent upon the presence of other platform features. During development, some or all of these features must be tested to minimize or eliminate the presence of bugs and similar defects. Such defects may be inherent in the platform design or may occur as a consequence of actions taken by the end user. Consequently, “bug testing” is generally comprehensive and includes detecting bugs in both design and operation.
Semiconductor platform testing involves generating test cases that are executed by the platform and monitored using a host device. Any detected errors on the semiconductor platform are reported to the host device performing the test on the semiconductor platform. Typically, test cases are generated in prose format. Each prose format test case is then converted to machine-executable code. The machine-executable code is then provided to the semiconductor platform for execution.
However, with the increasing complexity of modern integrated circuit design, such testing grows ever more complex. Additionally, the growing demand for multipurpose processors increases the number of use cases for each semiconductor platform and further increases the number of test cases to ensure overall system reliability and robustness for the end user. The large number of test cases required to comprehensively test such complex, multi-use, semiconductor platforms often exceeds available resources.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications and variations thereof will be apparent to those skilled in the art.